
package CCT220_Aula10_Exercício02_13106;

/**
 * Project CCT220:CCT220_Aula10_Exercício02_13106
 * 
 * @author marcel
 * @author 13106
 * 
 * 
 *         20/09/2011
 */
public class Circulo {
	private final Ponto centro;
	private double      raio;


	/**
	 * Construtor
	 * 
	 * @param x
	 * @param y
	 * @param r
	 */
	public Circulo(double x, double y, double r) {

		if (x < 0) {
			x = 0;
		}
		if (y < 0) {
			y = 0;
		}
		centro = new Ponto(x, y);
		if (r > 0) {
			raio = r;
		} else {
			raio = 1;
		}
	}


	/**
	 * Metodo que move o centro do circulo para
	 * outro ponto
	 * 
	 * @param x
	 * @param y
	 */
	public void mover(double x, double y) {

		centro.setX(x);
		centro.setY(y);
	}


	/**
	 * Metodo que aumenta o raio do circulo em 1
	 */
	public void aumentar() {

		raio++;
	}


	/**
	 * Metodo que diminui o raio do circulo em 1
	 */
	public void diminuir() {

		raio--;
	}


	/**
	 * Metodo que retorna o valor da posicao x do
	 * centro do circulo
	 * 
	 * @return x
	 */
	public double getX() {

		return centro.getX();
	}


	/**
	 * Metodo que retorna o valor da posicao y do
	 * centro do circulo
	 * 
	 * @return centro
	 */
	public double getY() {

		return centro.getY();
	}


	/**
	 * Metodo que retorna o tamanho do raio do
	 * circulo
	 * 
	 * @return raio
	 */
	public double getRaio() {

		return raio;
	}


	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {

		return ("Circulo de raio " + this.raio + " centrado em "
		        + this.centro.toString() + " ");
	}
}
